package com.stack.knowyouservice.service;

import org.springframework.security.core.Authentication;
import java.util.Map;

/**
 * 数据分析服务层接口
 *
 * @author stack
 */
public interface DataAnalysisService {

    /**
     * 学生成绩分析(教师)
     *
     * @param param 分析类型
     * @param sid   课程号
     * @return 数据结果
     */
    Map<String, Object> teacherScoreAnalysis(String param, Integer sid);

    /**
     * 学生成绩分析(学生)
     *
     * @param hkid           作业分类
     * @param sid            课程号
     * @param authentication 权限
     * @return 数据结果
     */
    Map<String, Object> stuScoreAnalysis(Integer hkid, Integer sid, Authentication authentication);

    /**
     * 考试成绩分析
     *
     * @param hid 作业号
     * @param sid 课程号
     * @return 分析结果
     */
    Map<String, Object> examAnalysis(Integer hid, Integer sid);

    /**
     * 预习情况统计
     *
     * @param hid 作业号
     * @param sid 课程号
     * @return 预习结果
     */
    Map<String, Object> preHomeWorkAnalysis(Integer hid, Integer sid);
}
